package com.example.spinning.controller;

import com.example.spinning.bean.RespBean;
import com.example.spinning.bean.User;
import com.example.spinning.service.UserService;
import com.example.spinning.service.UsersService;
import com.example.spinning.utils.Log;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * 纺织登录
 */
@RestController
public class LoginController {

    @Autowired
    UsersService usersService;

//    @RequestMapping("/login_error")
//    public RespBean loginError() {
//        return new RespBean("error", "登录失败!");
//    }
//
//    @RequestMapping("/login_success")
//    public RespBean loginSuccess() {
//        return new RespBean("success", "登录成功!");
//    }
//
//    /**
//     * 如果自动跳转到这个页面，说明用户未登录，返回相应的提示即可
//     * <p>
//     * 如果要支持表单登录，可以在这个方法中判断请求的类型，进而决定返回JSON还是HTML页面
//     *
//     * @return
//     */
//    @RequestMapping("/login_page")
//    public RespBean loginPage() {
//        return new RespBean("error", "尚未登录，请登录!");
//    }

    @PostMapping("/register")
    @Log(module = "用户管理",description = "添加用户")
    public RespBean register(User user) {
        if ("".equals(user.getUsername()) || user.getUsername() == null) {
            return new RespBean("error", "请输入账号!");
        }
        if ("".equals(user.getNickname()) || user.getNickname() == null) {
            return new RespBean("error", "请输入用户名!");
        }
        if ("".equals(user.getRole()) || user.getRole()== null) {
            return new RespBean("error", "请输入角色!");
        }

        int result = usersService.reg(user);
        if (result == 0) {
            //成功
            return new RespBean("success", "注册成功!");
        } else if (result == 1) {
            return new RespBean("error", "账号名重复，注册失败!");
        }
        else {
            //失败
            return new RespBean("error", "注册失败!");
        }
    }
}
